_require local "../../basis.smi"
_require local "./base.sig"

functor StreamFun(A: sig type tok end) =
struct
  type tok = A.tok
  type stream (= ref)
  val streamify : (unit -> tok) -> stream
  val cons : tok * stream -> stream
  val get : stream -> tok * stream
end
